package com.fenqile.pop.product.param;

import com.fenqile.pop.product.result.SkuModifyResult;

/**
 * 更新 sku 库存 {@value #API_METHOD}
 * 
 * @see AbstractSkuIdParameter
 * @see SkuModifyResult
 * 
 * @author Coby [cobylin@live.com] 2017
 */
public class SkuUpdateQuantityParameter extends AbstractSkuIdParameter<SkuModifyResult> {
	public static final String API_METHOD = "fenqile.sku.update.quantity";
	
	/**
	 * 货号(外部 sku 编码)
	 * 与 sku_id 二选一，必须 存在一个
	 * 使用sku_id修改库存，性能更高
	 */
	public String third_sku_id;
	
	/**
	 * 当全量更新库 存时， quantity 必须 为正整数；当 增量更新库存 时，quantity 为整数，可小 于等于0。
	 * 若增 量更新时，传 入的库存为负 数，则此值与 现有库存之和 不能小于0 
	 * 修改值，意义与 type有关 （此值将修改总 库存参数） 如果是策略一仓 发全国，则直接 修改总库存
	 * 必须
	 */
	public Integer quantity;
	
	/**
	 * 如果是一仓发全 国，则不需要填 写，如果当前 sku 分仓策略为 区域分仓则此属 性必填，且区域 库存变更 之和必须等下 quantity（即上 一项参数）
	 * quantity1 + quantity2。。。 quantity 分仓库存全量 更新与增量更 新须满足上一 项quantity更 新库存
	 * (格式：分仓区域Id： quantity1| 仓 区域 Id：quantity2… 
	 */
	public String wareroom_quantity;
	
	/**
	 * 库存更新方式， 1 为全量更新，2 为增量更新。默认全量更新(SB默认，必须要传)
	 * 必须
	 */
	public Integer type; 
	
	@Override
	public String getApiMethod() {
		return API_METHOD;
	}

}
